HAL PLAY IRQ handler and callbacks functions migration

This section provides information about the HAL PLAY IRQ_Handler and Callbacks functions migration.

HAL PLAY callbacks

The HAL PLAY callback functions remain the same between HAL1 and HAL2, only some parameter types naming changed.

HAL1

HAL2

HAL_PLAY_SWTriggerWriteCpltCallback(HAL_PLAY_HandleTypeDef *hplay)
HAL_PLAY_SWTriggerWriteCpltCallback(hal_play_handle_t *hplay)
HAL_PLAY_EdgeTriggerWriteCpltCallback(HAL_PLAY_HandleTypeDef *hplay)
HAL_PLAY_EdgeTriggerWriteCpltCallback(hal_play_handle_t *hplay)
HAL_PLAY_LUTOutputRisingCallback(HAL_PLAY_HandleTypeDef *hplay,
                                 uint32_t edge_trig_mask_status)
HAL_PLAY_LUTOutputRisingCallback(hal_play_handle_t *hplay,
                                 uint32_t edge_trig_mask_status)
HAL_PLAY_LUTOutputFallingCallback(HAL_PLAY_HandleTypeDef *hplay,
                                  uint32_t edge_trig_mask_status)
HAL_PLAY_LUTOutputFallingCallback(hal_play_handle_t *hplay,
                                   uint32_t edge_trig_mask_status)

HAL PLAY register callback

HAL1

HAL2

Function prototype

In HAL1, a single function is used to register software trigger and edge trigger callback events:

HAL_PLAY_RegisterCallback(HAL_PLAY_HandleTypeDef *hplay,
                          HAL_PLAY_CallbackIDTypeDef CallbackID,
                          pPLAY_CallbackTypeDef pCallback)

In HAL2, separate register callbacks are provided for each event:


HAL_PLAY_RegisterSWTriggerWriteCpltCallback(hal_play_handle_t *hplay,
                                            hal_play_cb_t p_callback)
HAL_PLAY_RegisterEdgeTriggerWriteCpltCallback(hal_play_handle_t *hplay,
                                              hal_play_cb_t p_callback)

Example usage

HAL_PLAY_HandleTypeDef hplay;
HAL_PLAY_RegisterCallback(&hplay,
                          HAL_PLAY_SW_TRIGGER_WRITE_CPLT_CB_ID,
                          USER_SWTriggerWriteCpltCallback);
HAL_PLAY_RegisterCallback(&hplay,
                          HAL_PLAY_EDGE_TRIGGER_WRITE_CPLT_CB_ID,
                          USER_EdgeTriggerWriteCpltCallback);
hal_play_handle_t hplay;
HAL_PLAY_RegisterSWTriggerWriteCpltCallback(&hplay,
                                            USER_SWTriggerWriteCpltCallback);

HAL_PLAY_RegisterEdgeTriggerWriteCpltCallback(&hplay,
                                              USER_EdgeTriggerWriteCpltCallback);

Related concepts:


HAL PLAY register LUT output callback

HAL1

HAL2

Function prototype

In HAL1, a single function is used to register LUT output rising and falling callback events:

HAL_PLAY_RegisterLUTOutputCallback(HAL_PLAY_HandleTypeDef *hplay,
                                   HAL_PLAY_CallbackIDTypeDef CallbackID,
                                   pPLAY_LUTOutputCallbackTypeDef pCallback)

In HAL2, separate register callbacks are provided for each event:

HAL_PLAY_RegisterLUTOutputRisingCallback(hal_play_handle_t *hplay,
                                         hal_play_lut_output_cb_t p_callback)
HAL_PLAY_RegisterLUTOutputFallingCallback(hal_play_handle_t *hplay,
                                          hal_play_lut_output_cb_t p_callback)

Example usage

HAL_PLAY_HandleTypeDef hplay;
HAL_PLAY_RegisterLUTOutputCallback(&hplay,
                                   HAL_PLAY_LUT_OUTPUT_RISING_CB_ID,
                                   USER_LUTOutputRisingCallback);
HAL_PLAY_RegisterLUTOutputCallback(&hplay,
                                   HAL_PLAY_LUT_OUTPUT_FALLING_CB_ID,
                                   USER_LUTOutputFallingCallback);
hal_play_handle_t hplay;
HAL_PLAY_RegisterLUTOutputRisingCallback(&hplay,
                                         USER_LUTOutputRisingCallback);

HAL_PLAY_RegisterLUTOutputFallingCallback(&hplay,
                                          USER_LUTOutputFallingCallback);

Related concepts:


HAL PLAY unregister callback

HAL1

HAL2

Function prototype

HAL_PLAY_UnRegisterCallback(HAL_PLAY_HandleTypeDef *hplay,
                            HAL_PLAY_CallbackIDTypeDef CallbackID)
HAL_PLAY_UnRegisterLUTOutputCallback(HAL_PLAY_HandleTypeDef *hplay,
                                     HAL_PLAY_CallbackIDTypeDef CallbackID)

Unregister callback functions are no longer available use instead register callback functions with the default weak callback.

Example usage

HAL_PLAY_HandleTypeDef hplay;
HAL_PLAY_UnRegisterCallback(&hplay,
                            HAL_PLAY_SW_TRIGGER_WRITE_CPLT_CB_ID);
HAL_PLAY_UnRegisterCallback(&hplay,
                            HAL_PLAY_EDGE_TRIGGER_WRITE_CPLT_CB_ID);
HAL_PLAY_UnRegisterLUTOutputCallback(&hplay,
                                     HAL_PLAY_LUT_OUTPUT_RISING_CB_ID);
HAL_PLAY_UnRegisterLUTOutputCallback(&hplay,
                                     HAL_PLAY_LUT_OUTPUT_FALLING_CB_ID);
hal_play_handle_t hplay;
HAL_PLAY_RegisterSWTriggerWriteCpltCallback(&hplay,
                                            HAL_PLAY_SWTriggerWriteCpltCallback);
HAL_PLAY_RegisterEdgeTriggerWriteCpltCallback(&hplay,
                                              HAL_PLAY_EdgeTriggerWriteCpltCallback);
HAL_PLAY_RegisterLUTOutputRisingCallback(&hplay,
                                         HAL_PLAY_LUTOutputRisingCallback);
HAL_PLAY_RegisterLUTOutputFallingCallback(&hplay,
                                          HAL_PLAY_LUTOutputFallingCallback);

Related concepts:


HAL PLAY IRQHandler

The HAL PLAY IRQ handler remain the same between HAL1 and HAL2, only some parameter types naming changed.

HAL1

HAL2

HAL_PLAY_IRQHandler(HAL_PLAY_HandleTypeDef *hplay)
HAL_PLAY_IRQHandler(hal_play_handle_t *hplay)